#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int main() {
//    char ch[10000];
//    gets(ch);
//    int sz = strlen(ch);
//    char* pc = &ch[sz - 1];
//    int i = 0;
//    for (i = 0; i < sz; i++)
//    {
//        printf("%c", *pc);
//        pc--;
//    }
//    return 0;
//}

size_t myStringlen(char * pc)
{
	size_t count = 0;
	while (*pc)
	{
		count++;
		pc++;
	}
	return count;
}


//int main()
//{
//	char ch[10000];
//	gets(ch);
//	int sz = myStringlen(ch);
//	printf("%d ", sz);
//	return 0;
//}

void fun(int arr[],int sz)
{
	int i = 0;
	int j = sz - 1;
	int tmp = 0;
	while (i < j)
	{
		if (arr[i] % 2 == 0)
		{
			if (arr[j] % 2 != 0)
			{
				tmp = arr[i];
				arr[i] = arr[j];
				arr[j] = tmp;
				i++;
				j--;
			}
			else
				j--;
		}
		else
		{
			i++;
		}
	}
}

void leftRev(char c1[],char c2[],int k,int len)
{
	int i = 0;
	int j = 0;

	for ( i = k; i < len; i++)
	{
		c2[j] = c1[i];
		j++;
	}
	for (i = 0; i < k; i++)
	{
		c2[j] = c1[i];
		j++;
	}
}


int main()
{
	
	char c1[100];
	char c2[100];
	gets(c1);
	int len =strlen(c1);
	int k = 0;
	scanf("%d", &k);
	leftRev(c1, c2, k,len);
	int i = 0;
	for (i = 0; i < len; i++)
	{
		printf("%c", c2[i]);
	}

}


//int main()
//{
//	
//	int arr[10];
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	fun(arr,sz);
//
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}